/**
 * @fileOverview Data initialization
 * @requires app
 */

/* EFFECTS */
app.EffectMgr.createType([{
	id : 'attack',
	name : 'Attack',
	attribute : 'health',
	amount : {min : 1, max : 2}
}, {
	id : 'heal',
	name : 'Heal',
	attribute : 'health',
	type : app.Effect.TYPE_BUFF,
	target : app.Effect.TARGET_SELF,
	amount : {min : 10, max : 25}
}]);

/* ************************************************************************************* */

/* SKILLS */
app.SkillMgr.createType([{
	id : 'attack',
	name : 'Basic attack',
	effects : ['attack']
}, {
	id : 'heal',
	name : 'Minor heal',
	chance : 10,
	effects : ['heal']
}]);

/* ************************************************************************************* */

/* UNITS */
app.UnitMgr.createType([{
	id : 'basic',
	name : 'Basic'
}, {
	id : 'mob',
	name : 'Mob',
	base : 'basic',
	attributes : {
		health : 5,
		strength : 1,
		agility : 1
	},
	skills : {
		attack : 1
	}
}, {
	id : 'player',
	name : 'Player',
	base : 'mob',
	attributes : {
		health : 20
	},
	skills : {
		heal : 1
	}
}, {
	id : 'rat',
	name : 'Rat',
	base : 'mob'
}]);

/* ************************************************************************************* */

app.player = app.UnitMgr.create('player');
app.playerGroup = new app.UnitGroup([app.player]);

/* ************************************************************************************* */

app.player.bind('unit.levelup', function(level) {
	console.log(this.name + ' gained level ' + level);
}).addExp(100);